package yh.design.strategy;

import yh.design.common.res.APIResult;

import java.math.BigDecimal;
/**
 * 策略控制类 根据客户端传的具体支付方式参数，执行具体的支付逻辑
 *
 * 实际开发中 策略控制类 更多会封装一个接口，接口中有一个支付方法
 * @author: zyh
 * @date: 2025/5/15 15:38
 **/
public class IPayServiceImpl<T> {


    /**
     * 执行支付方法
     * @param payWay
     * @param payWayInfo
     * @return
     */
    public APIResult execPay(Integer payWay,T payWayInfo){
        //获取具体的支付方式
        IPayment iPayment = IPayContextMap_1.payStrtegyMap.get(payWay);
        return iPayment.executePay(payWayInfo, new BigDecimal("100"));
    }
}
